#include "Layer.h"

#include "Parameters.h"

#include <iostream>
#include <sstream>
#include <string>

Layer::Layer()
{
  ms=0;
  alpha=0;
  thickness=0;
  surface=0;
  m.setVector(0,0,0);
  nd.setVector(0,0,0);
  nr.setVector(0,0,0);
  k=0;
  angleAni=0;
  angleAni2=0;
  frozen=true;
  polarization = 0;
  //upExchange=0;
  //downExchange=0;
}

Layer::~Layer()
{

}

Layer Layer::copy(Layer layer)
{
  return layer;
}

double Layer::getMs()
{
  return ms;
}

Vector3 Layer::getMag()
{
  return m;
}

Vector3 Layer::getSwitchedMag()
{
  return sm;
}

Vector3 Layer::getND()
{
  return nd;
}

Vector3 Layer::getNR()
{
  return nr;
}

double Layer::getK()
{
  return k;
}

double Layer::getAngleAni()
{
  return angleAni;
}

double Layer::getAngleAni2()
{
  return angleAni2;
}
double Layer::getAlpha()
{
  return alpha;
}

double Layer::getSurface()
{
  return surface;
}

double Layer::getThickness()
{
  return thickness;
}

bool Layer::getFrozen()
{
  return frozen;
}

double Layer::getUpExchange()
{
  return upExchange;
}

double Layer::getDownExchange()
{
  return downExchange;
}

void Layer::setMag(Vector3 vector)
{
  m=vector;
}

void Layer::setMag(double mx,double my,double mz)
{
  m.setX(mx);
  m.setY(my);
  m.setZ(mz);
}

void Layer::setSwitchedMag(Vector3 vector)
{
  sm=vector;
}

int Layer::getNumber()
{
  return number;
}

double Layer::getPolarization()
{
  return polarization;
}
